<?php
/**
 * Модель param_data
 * 
 * Класс модели
 * @author Anton Zavidov
 * @package myLiveShop
 */

/**
 * Модель param_data
 *
 */
class ModelParam_data extends Model {
	
	const TABLE				= 'param_data';
	const F_PARAM_ID  		= 'param_id';
	const F_PRODUCT_ID  	= 'product_id';
	const F_SMALL_VALUE  	= 'small_value';
	const F_LONG_VALUE  	= 'long_value';
			
	public function __construct($className=null){
		parent::__construct(__CLASS__);
		$this->name='param_data';
		$this->id_field=array(self::F_PARAM_ID,self::F_PRODUCT_ID);
		$this->fields=array(
		self::TABLE.DOT.self::F_PARAM_ID=> new Field($this,self::F_PARAM_ID,self::TABLE,array(
				'important'=>true,
				'lenght'=>9,
				'join_table'=>'param')),
		self::TABLE.DOT.self::F_PRODUCT_ID=> new Field($this,self::F_PRODUCT_ID,self::TABLE,array(
				'important'=>true,
				'lenght'=>11,
				'join_table'=>'product')),
		self::TABLE.DOT.self::F_SMALL_VALUE=> new Field($this,self::F_SMALL_VALUE,self::TABLE,array(
				'lenght'=>255,
				'type'=>Field::TYPE_STRING)),
		self::TABLE.DOT.self::F_LONG_VALUE=> new Field($this,self::F_LONG_VALUE,self::TABLE,array(
				'type'=>Field::TYPE_TEXT))		);
	}

	/**
	 * список параметров по id товара
	 *
	 * @param int $product_id
	 * @return array
	 */
	public function getByProductId($product_id){
	     return $this->load(false,"*",array(
				'where'=>self::F_PRODUCT_ID.'='.$product_id
			)
		);
	}
	/**
	 * сохраняем сразу много параметров для одного продукта
	 *
	 * @param array $data многомерный массив с записями
	 * @return bool
	 */
	public function saveList($data){
		return $this->db->insert(self::TABLE, $data);
	}
}
